# -*- encoding:utf-8 -*-
# @Time: 2022/11/11 16:22
# @Author :xibin
# @Email: xibin@maqu. com
# @File: tasks.py
# @Software: PyCharm
import logging  #还要把任务往日志里去提交一下

from django.core.mail import send_mail  #发送邮箱的
from celery_tasks.celery_main import app
from drfstudy import settings

logger = logging.getLogger(__name__) #获取当前日志

@app.task(name='send_email_task')
def send_email_task(email,username,password,classes_name):
    """
    发送入学邮件通知
    :param email: 收件人邮箱
    :param username: 用户名
    :param password: 密码
    :param classes_name: 班级名
    :return:
    """
    try:
        email_param = {
            'subject':'码趣教育-PROMOTE系统',  #邮件标题
            'message':'',
            'html_message': #内容
                f"""
                    <h2>欢迎加入码趣教育 [{classes_name}] 进行学习</h2>
                    <h3>诚邀您使用码趣教育-PRONOTE系统</h3>
                    <p>其中包括：题目练习，技术交流，相关书籍，学习设备，购物商城等</p>
                    <p>您登陆的用户名为：<span style='color:blue'>{username}</span></p>
                    <p>您登陆的初始密 码为：<span style='color:blue'>{password}</span></p>
                """,
            'from_email': settings.EMAIL_HOST_USER, #邮箱发送者
            'recipient_list':[email]  #收件人
        }
        res_email = send_mail(**email_param) #进行发送，里面的内容要解包，
    except Exception as e:  #代码报错就是这种情况
        logger.error('入学通知邮件发送[异常],[email: %s,message: %s]'%(email,e))  #日志中显示错误
    else:
        if res_email: #如果发送正常
            logger.info('入学通知邮件发送[正常],[email: %s,username: %s]'%(email,username))
        else:
            logger.warning('入学通知邮件发送[失败],[email: %s,username: %s]' % (email, username))

